/*    */ package system.staros.sblock1;
/*    */ 
/*    */ public class AssignNode extends BinaryOpNode
/*    */ {
/*    */   public AssignNode(SourcePosition paramSourcePosition, Node paramNode1, Node paramNode2)
/*    */   {
/* 32 */     super(paramSourcePosition, "set!", paramNode1, paramNode2);
/*    */   }
/*    */ 
/*    */   public ZemObject eval(Interpreter paramInterpreter)
/*    */   {
/* 37 */     Node localNode = getLeft();
/* 38 */     ZemObject localZemObject = getRight().eval(paramInterpreter);
/* 39 */     if ((localNode instanceof VariableNode)) {
/* 40 */       String str = ((VariableNode)localNode).getName();
/* 41 */       paramInterpreter.setVariable(str, localZemObject);
/* 42 */       return localZemObject;
/* 43 */     }if ((localNode instanceof LookupNode)) {
/* 44 */       ((LookupNode)localNode).set(paramInterpreter, localZemObject);
/* 45 */       return localZemObject;
/*    */     }
/* 47 */     throw new InvalidTypeException("Left hand of assignment must be a variable.", localNode.getPosition());
/*    */   }
/*    */ }

/* Location:           D:\Марк\!IMPORTANT\staros\archive\version-2.260.zip
 * Qualified Name:     system.staros.sblock1.AssignNode
 * JD-Core Version:    0.6.1
 */